package cn.lingyangwl.agile.auth.service;

import cn.lingyangwl.agile.auth.model.entity.ThirdUser;
import cn.lingyangwl.agile.auth.model.rqrs.third.LoginBindSocialReq;
import cn.lingyangwl.agile.auth.model.rqrs.third.ThirdFirstBindReq;
import cn.lingyangwl.agile.auth.oauth2.model.OAuth2TokenResp;
import cn.lingyangwl.agile.model.constants.AppType;
import cn.lingyangwl.agile.model.module.auth.GrantTypeEnum;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 第三方用户体系授权
 *
 * @author shenguangyang
 */
public interface ThirdUserService extends IService<ThirdUser> {
    ThirdUser getByOpenId(GrantTypeEnum grantType, AppType appType, String openId);

    /**
     * 在登录时候绑定账号, 由于是首次绑定, 在登录的时候userId是随机生成的, 真实不存在 userId 的用户, 在调用当前接口, 如果绑定成功
     * 要将userId登录信息删除, 前端自动重新调用登录接口, 刷新登录状态和用户信息
     * @deprecated
     */
    void loginBindSocialAccount(LoginBindSocialReq req);
}
